'use strict';

const Controller = require('egg').Controller;


class CommentController extends Controller {


  // 获取文章评论列表
  async index() {
    const { ctx } = this;
    ctx.request.query.pageNum = ctx.request.query.pageNum ? ctx.request.query.pageNum : 1;
    ctx.request.query.pageSize = ctx.request.query.pageSize ? ctx.request.query.pageSize : 10;
    const res = await ctx.service.news.pcWeb.comment.getCommentlist(ctx.request.query);
    res ? ctx.helper.success('获取评论列表成功', res) : ctx.helper.error('获取列评论表失败', 400);
  }

  // 获取用户评论列表 根据用户ID
  async getUserCommentList() {
    const { ctx } = this;
    ctx.request.query.user_id = ctx.params.user_id;
    // ctx.request.query.user_id = ctx.state.user.id;
    ctx.request.query.pageNum = ctx.request.query.pageNum ? ctx.request.query.pageNum : 1;
    ctx.request.query.pageSize = ctx.request.query.pageSize ? ctx.request.query.pageSize : 10;
    const res = await ctx.service.news.pcWeb.comment.getCommentlist(ctx.request.query);
    res ? ctx.helper.success('获取用户评论列表成功', res) : ctx.helper.error('获取用户评论列表失败', 400);
  }

  // 评论文章 新增
  async createComment() {
    const { ctx } = this;
    const res = await ctx.service.news.pcWeb.comment.createComment(ctx.request.body);
    res ? ctx.helper.success('创建文章评论成功', res) : ctx.helper.error('创建文章评论失败', 400);
  }
  // 点赞评论 新增
  async createCommentLiking() {
    const { ctx } = this;
    const res = await ctx.service.news.pcWeb.comment.createCommentLiking(ctx.request.body);
    if (res.msg) return ctx.helper.error(res.msg, 400);
    res ? ctx.helper.success('点赞成功', res) : ctx.helper.error('点赞失败', 400);
  }
  // 取消对评论点赞
  async destroyCommentLiking() {
    const { ctx } = this;
    console.log(1);
    const res = await ctx.service.news.pcWeb.comment.destroyCommentLiking(ctx.params.comment_id);
    res ? ctx.helper.success('取消点赞成功') : ctx.helper.error('取消点赞失败', 400);
  }
  // 获取评论点赞列表 获取当前用户点赞过的列表【数组id】
  async getCommentLikingList() {
    const { ctx } = this;
    ctx.request.query.user_id = ctx.state.user.id;
    const res = await ctx.service.news.pcWeb.comment.getCommentLikingList(ctx.request.query);
    res ? ctx.helper.success('获取列表成功', res) : ctx.helper.error('获取列表失败', 400);
  }

  // 获取用户评论点赞的列表
  async getUserCommentLikingList() {
    const { ctx } = this;
    ctx.request.query.user_id = ctx.state.user.id;
    ctx.request.query.pageNum = ctx.request.query.pageNum ? ctx.request.query.pageNum : 1;
    ctx.request.query.pageSize = ctx.request.query.pageSize ? ctx.request.query.pageSize : 10;
    const res = await ctx.service.news.pcWeb.comment.getUserCommentLikingList(ctx.request.query);
    res ? ctx.helper.success('获取列表成功', res) : ctx.helper.error('获取列表失败', 400);
  }
}

module.exports = CommentController;
